Improving Transactional Memory Performance for Irregular Applications
نویسندگان
چکیده
Transactional memory (TM) offers optimistic concurrency support in modern multicore architectures, helping the programmers to extract parallelism in irregular applications when data dependence information is not available before runtime. In fact, recent research focus on exploiting thread-level parallelism using TM approaches. However, the proposed techniques are of general use, valid for any type of application. This work presents ReduxSTM, a software TM system specially designed to extract maximum parallelism from irregular applications. Commit management and conflict detection are tailored to take advantage of both, sequential transaction ordering to assure correct results, and privatization of reduction patterns, a very frequent memory access pattern in irregular applications. Both techniques are used to avoid unnecessary transaction aborts. A function in 300.twolf package from SPEC CPU2000 was taken as a motivating irregular program. This code was parallelized using ReduxSTM and an ordered version of TinySTM, a state-of-the-art TM system. Experimental evaluation shows that ReduxTM exploits more parallelism from the sequential program and obtains better performance than the other system.
منابع مشابه
Improving Continuation-Powered Method-Level Speculation for JVM Applications
Most applications running on the Java Virtual Machine (JVM) make extensive use of dynamic object-oriented programming features such as inheritance, polymorphism, and encapsulation. This makes them very hard or even impossible to analyze statically, defeating most of the automatic parallelization research done so far for traditional computeheavy scientific applications. In this paper, we propose...
متن کاملA Data Reorganization Technique for Improving Data Locality of Irregular Applications in Software Distributed Shared Memory
Irregular applications are characterized by highly irregular and ne-grained data referencing patterns. When there is poor locality between the ne-grained data, serious false sharing can occur which has largely contributed to poor performance of irregular applications on page-based software distributed shared memory (DSM) systems. Partitioning data in irregular applications to improve data local...
متن کاملEnabling Speculative Parallelization via Merge Semantics in STMs
STM (Software Transactional Memory) systems can be used to speculatively parallelize irregular applications such as those based on graphs and trees. While the transactional paradigm is suitable for such speculative parallelization, STMs do not deal with the semantics of speculation. In this paper we introduce merge semantics for speculations. STMs optimistically execute code and monitor the exe...
متن کاملAdaptive Thread Scheduling Techniques for Improving Scalability of Software Transactional Memory
Software transactional memory (STM) enhances both ease-of-use and concurrency, and is considered state-ofthe-art for parallel applications to scale on modern multicore hardware. However, there are certain situations where STM performs even worse than traditional locks. Upon hotspots where most threads contend over a few pieces of shared data, going transactional will result in excessive conflic...
متن کاملCS 752 Project proposal Improving the performance and hardware requirements of LogTM-SE
Hardware Transactional Memory systems intend to provide an easy to use programming model for multithreaded applications and high performance at the same time. LogTM-SE is one of these systems, and the object of this proposal. LogTM-SE is a solid TM implementation, supports unbounded transactions and works well with virtual memory, but there are some aspects of it that could be improved. We prop...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015